Модуль uuid
UUID означает универсальный уникальный идентификатор. Если приложение требует, чтобы значение было уникальным в рамках одной машины или одной БД, лучше использовать простой счетчик, а не UUID. Это связано с тем, что получать UUID-значения времязатратно и требует системного вызова. Используйте UUID для кластеров машин и крупных распределенных приложений. Tarantool генерирует UUID-значения по варианту 1 версии 4 правил, определенных в RFC 4122.
Ниже приведен перечень всех функций и элементов модуля uuid.
| Имя | Назначение | 
|---|---|
| uuid.NULL | Объект c нулевым UUID | 
| uuid() uuid.bin() uuid.str() | Получение UUID | 
| uuid.new() | Создание UUID | 
| uuid.fromstr() uuid.frombin() uuid_object:bin() uuid_object:str() | Получение конвертированного UUID | 
| uuid.is_uuid() | Проверка, является ли указанное значение UUID | 
| uuid_object:isnil() | Проверка, состоит ли UUID из одних нулей | 
- 
 uuid.NULL¶
- A nil UUID object. Contains the all-zero UUID value – - 00000000-0000-0000-0000-000000000000.
- 
 uuid.new()¶
- Since version 2.4.1. Create a UUID sequence. You can use it in an index over a UUID field. For example, to create such index for a space named - test, say:- tarantool> box.space.test:create_index("pk", {parts={{field = 1, type = 'uuid'}}}) - Теперь можно вставить UUID’ы в спейс: - tarantool> box.space.test:insert{uuid.new()} --- - [e631fdcc-0e8a-4d2f-83fd-b0ce6762b13f] ... tarantool> box.space.test:insert{uuid.fromstr('64d22e4d-ac92-4a23-899a-e59f34af5479')} --- - [64d22e4d-ac92-4a23-899a-e59f34af5479] ... tarantool> box.space.test:select{} --- - - [64d22e4d-ac92-4a23-899a-e59f34af5479] - [e631fdcc-0e8a-4d2f-83fd-b0ce6762b13f] ... - возвращает: - UUID - тип возвращаемого значения: - cdata. 
- 
 uuid.__call()¶
- возвращает: - UUID - тип возвращаемого значения: - cdata. 
- 
 uuid.bin([byte-order])¶
- Параметры: - byte-order (string) –Byte order of the resulting UUID: - 'l'– little-endian
- 'b'– big-endian
- 'h',- 'host'– endianness depends on host (default)
- 'n',- 'network'– endianness depends on network
 
 - возвращает: - UUID - тип возвращаемого значения: - 16-байтная строка 
- byte-order (
- 
 uuid.str()¶
- возвращает: - UUID - тип возвращаемого значения: - 36-байтная двоичная строка 
- 
 uuid.fromstr(uuid-str)¶
- Параметры: - uuid-str (string) – UUID в 36-байтной шестнадцатеричной строке
 - возвращает: - конвертированный UUID - тип возвращаемого значения: - cdata. 
- uuid-str (
- 
 uuid.frombin(uuid-bin[, byte-order])¶
- Параметры: - возвращает: - конвертированный UUID - тип возвращаемого значения: - cdata. 
- 
 uuid.is_uuid(value)¶
- Since version 2.6.1. - Параметры: - value – проверяемое значение
 - возвращает: - true, если указанное значение имеет тип UUID, в противном случае- false- тип возвращаемого значения: - bool (логический) 
- 
object uuid_object¶
- 
 uuid_object:bin([byte-order])¶
- Параметры: - byte-order (string) –Byte order of the resulting UUID: - 'l'– little-endian,
- 'b'– big-endian,
- 'h',- 'host'– endianness depends on host (default),
- 'n',- 'network'– endianness depends on network.
 
 - возвращает: - UUID, сконвертированный из введенного значения формата cdata. - тип возвращаемого значения: - 16-байтная двоичная строка 
- byte-order (
 - 
 uuid_object:str()¶
- возвращает: - UUID, сконвертированный из введенного значения формата cdata. - тип возвращаемого значения: - 36-байтная шестнадцатеричная строка 
 - 
 uuid_object:isnil()¶
- Значение UUID из одних нулей может быть выражено как uuid.NULL или - uuid.fromstr('00000000-0000-0000-0000-000000000000'). Сравнение со значением из одних нулей также может быть выражено как- uuid_with_type_cdata == uuid.NULL.- возвращает: - true (правда), если значение состоит из одних нулей, в противном случае false (ложь). - тип возвращаемого значения: - bool (логический) 
 
- 
 
tarantool> uuid = require('uuid')
---
...
tarantool> uuid(), uuid.bin(), uuid.str()
---
- 16ffedc8-cbae-4f93-a05e-349f3ab70baa
- !!binary FvG+Vy1MfUC6kIyeM81DYw==
- 67c999d2-5dce-4e58-be16-ac1bcb93160f
...
tarantool> uu = uuid()
---
...
tarantool> #uu:bin(), #uu:str(), type(uu), uu:isnil()
---
- 16
- 36
- cdata
- false
...